package com.joker.aigc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.joker.aigc.domain.dto.UserDto;
import com.joker.aigc.domain.dto.UserLoginDto;
import com.joker.aigc.domain.entity.User;

public interface LoginService extends IService<User> {


    /**
     * 校验token是不是有效
     *
     * @param token
     * @return
     */
    boolean verify(String token);


    /**
     * 刷新token有效期
     *
     * @param token
     */
    void renewalTokenIfNecessary(String token);

    /**
     * 登录成功，获取token
     *
     * @return 返回token
     */
    String login(UserLoginDto userLoginDto);


    String login();

    void register(UserDto userDto);

    /**
     * 如果token有效，返回uid
     *
     * @param token 正确的token
     * @return token中隐藏的用户信息
     */
    Long getValidUid(String token);


}
